package com.workcell.workdata.xthings.service;

import com.workcell.workdata.common.core.util.R;
import com.workcell.workdata.common.excel.annotation.RequestExcel;
import com.workcell.workdata.xthings.dto.ExcelImportTemplateVo;

import java.util.List;

/**
 * @Author 廖博文
 * @Date 2022/12/5 10:38
 * @Description 二维码Excel操作类
 */
public interface CodeExcelService {

	/**
	 * 导出二维码导入模板
	 * @param baseId 硬件ID
	 * @param num 生成数量
	 * @return
	 */
	Object exportTemplate(String baseId, String type, int num);

	/**
	 * 导入流量计信息
	 * @param excelVOList
	 * @return
	 */
	R importFlowMeterCodeChainnum(List<ExcelImportTemplateVo.FlowMeterVo> excelVOList);

	/**
	 * 导入电压计信息
	 * @param excelVOList
	 * @return
	 */
	R importPowerMeterCodeChainnum(List<ExcelImportTemplateVo.PowerMeterVo> excelVOList);


	/**
	 * 导入电视盒子二维码信息
	 * @param excelVOList
	 * @return
	 */
	R importTvBoxCodeChainnum(@RequestExcel List<ExcelImportTemplateVo.TvBoxVo> excelVOList);

	/**
	 * 导入打卡机二维码信息
	 * @param excelVOList
	 * @return
	 */
	R importTimeClockCodeChainnum(List<ExcelImportTemplateVo.TimeClockVo> excelVOList);

	R importSerialDeviceCodeChainnum(List<ExcelImportTemplateVo.SerialDeviceVo> excelVOList);

	/**
	 * 导入摄像头二维码信息
	 * @param excelVOList
	 * @return
	 */
	R importCameraCodeChainnum(List<ExcelImportTemplateVo.CameraVo> excelVOList);

	R importBeltScalesCodeChainnum(List<ExcelImportTemplateVo.BeltScales> excelVOList);

	/**
	 * 导入温湿度计二维码信息
	 * @param excelVOList
	 * @return
	 */
	R importTemperatureHumidityCodeChainnum(List<ExcelImportTemplateVo.TemperatureHumidityVo> excelVOList);

	R importFreezerCodeChainnum(List<ExcelImportTemplateVo.Freezer> excelVOList);

	R importHeatExchangersCodeChainnum(List<ExcelImportTemplateVo.HeatExchangers> excelVOList);

	R importLeveGaugeChainnum(List<ExcelImportTemplateVo.LeveGaugeClockVo> excelVOList);

	R importValveChainnum(List<ExcelImportTemplateVo.ValveVo> excelVOList);

	R importNaturalGasChainnum(List<ExcelImportTemplateVo.NaturalGasVo> excelVOList);

	R importUpperComputerChainnum(List<ExcelImportTemplateVo.UpperComputerVo> excelVOList);

	R importSmartTanksChainnum(List<ExcelImportTemplateVo.SmartTanksVo> excelVOList);

	R importRotaryKilnChainnum(List<ExcelImportTemplateVo.RotaryKilnVo> excelVOList);

	R importWaterMeterChainnum(List<ExcelImportTemplateVo.WaterMeterVo> excelVOList);

	R importVoiceSynthesisChainnum(List<ExcelImportTemplateVo.VoiceSynthesisVo> excelVOList);

	R importSoundLightAlarmChainnum(List<ExcelImportTemplateVo.SoundLightAlarmVo> excelVOList);
}
